xen.git
18 years agoxend: Fix op_domain_sched_credit_set() in SrvDomain.py
kfraser@localhost.localdomain [Fri, 6 Jul 2007 13:39:21 +0000 (14:39 +0100)]
xend: Fix op_domain_sched_credit_set() in SrvDomain.py
This patch adds "cap" into op_domain_sched_credit_set().
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agovmx: Fix a typo.
kfraser@localhost.localdomain [Fri, 6 Jul 2007 13:38:22 +0000 (14:38 +0100)]
vmx: Fix a typo.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agohvm: Fix vnc keymap for Japanese keyboards.
kfraser@localhost.localdomain [Fri, 6 Jul 2007 13:37:47 +0000 (14:37 +0100)]
hvm: Fix vnc keymap for Japanese keyboards.
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
Signed-off-by: Junko Ichino <ichino.junko@jp.fujitsu.com>
18 years agoUse short name format when reference to vcpu vmx union member.
kfraser@localhost.localdomain [Fri, 6 Jul 2007 13:36:34 +0000 (14:36 +0100)]
Use short name format when reference to vcpu vmx union member.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agoImprove xm sched-credit command for inactive managed domains
kfraser@localhost.localdomain [Fri, 6 Jul 2007 13:34:54 +0000 (14:34 +0100)]
Improve xm sched-credit command for inactive managed domains
Allows to change the scheduler parameters of inactive managed domains.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agohvm: Allow blktap to be able to be booted as system volume for PV-on-HVM
kfraser@localhost.localdomain [Fri, 6 Jul 2007 13:22:59 +0000 (14:22 +0100)]
hvm: Allow blktap to be able to be booted as system volume for PV-on-HVM

When blktap was booting system volume, PV-on-HVM domain was not able
to be  started.

The configuration file is specified as follows.
disk = [ 'tap:aio:/xen/test/rhel5ga_full.img,hda,w' ]

The error occurred by the initialization of system volume in qemu-dm.
qemu: could not open hard disk image 'aio:/xen/test/rhel5ga_full.img'

Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago[HVM] ROMBIOS: reboot when we see Ctrl+Alt+Del
Tim Deegan [Fri, 6 Jul 2007 10:17:01 +0000 (11:17 +0100)]
[HVM] ROMBIOS: reboot when we see Ctrl+Alt+Del
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years ago[HVM] Shadow: avoid xen crash if guest uses special memory for pagetables
Tim Deegan [Thu, 5 Jul 2007 13:46:13 +0000 (14:46 +0100)]
[HVM] Shadow: avoid xen crash if guest uses special memory for pagetables
(just crash the guest and don't do any more PTE propagations).
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years ago[HVM] update Etherboot ROM: new version, stricter DHCP compliance.
Tim Deegan [Thu, 5 Jul 2007 09:19:25 +0000 (10:19 +0100)]
[HVM] update Etherboot ROM: new version, stricter DHCP compliance.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years agovmx: Write back modified interruptibility-info in enable_intr_window().
kfraser@localhost.localdomain [Wed, 4 Jul 2007 09:34:18 +0000 (10:34 +0100)]
vmx: Write back modified interruptibility-info in enable_intr_window().
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm vmx: Support 'virtual NMI' feature of VMX.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 17:46:00 +0000 (18:46 +0100)]
hvm vmx: Support 'virtual NMI' feature of VMX.
Signed-off-by: Haitao Shan <haitao.shan@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoxen: Fix event-channel destruction.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 16:22:17 +0000 (17:22 +0100)]
xen: Fix event-channel destruction.

Lots of churn to fix a couple of bugs:

 1. If we tried to close an interdomain channel, and the remote domain
    is being destroyed, we immediately return success. But the remote
    domain will place our port in state 'unbound', not 'free'. Hence
    the port is effectively leaked.

 2. If two domains are being destroyed at the same time, and share an
    interdomain channel, the second to attempt the close may
    dereference an invalid domain pointer. Aiee!

Doing som ework to be able to destroy event-channel context much
earlier in domain death was the civilised thing to do.

Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago[x86/32] Support two byte CMOVcc opcodes in 4G segment fixup.
Ian Campbell [Tue, 3 Jul 2007 16:04:50 +0000 (17:04 +0100)]
[x86/32] Support two byte CMOVcc opcodes in 4G segment fixup.

These are present in Debian Etch's libc6-i686 package.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
18 years agox86: Clean up do_iret() hypercall.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 15:02:31 +0000 (16:02 +0100)]
x86: Clean up do_iret() hypercall.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoxenstore: Remove broken and unmaintained test code.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 14:51:59 +0000 (15:51 +0100)]
xenstore: Remove broken and unmaintained test code.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoRemove over-zealous assertion.
Steven Hand [Tue, 3 Jul 2007 14:49:16 +0000 (15:49 +0100)]
Remove over-zealous assertion.

Signed-off-by: Steven Hand <steven@xensource.com>
18 years ago[XEN] Fix p2m->shadow callback to pass the mfn being written to
Tim Deegan [Tue, 3 Jul 2007 13:57:59 +0000 (14:57 +0100)]
[XEN] Fix p2m->shadow callback to pass the mfn being written to
as well as the pointer and contents.  This was being calculated but
got disconnected from its use when the p2m and shadow functions were
separated.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years agoxen: Fix my changes to I/O-region-finding routine.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 12:44:04 +0000 (13:44 +0100)]
xen: Fix my changes to I/O-region-finding routine.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoxen: Remove useless check from dom0 builder.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 11:04:03 +0000 (12:04 +0100)]
xen: Remove useless check from dom0 builder.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: Improve e820 scanning for all I/O regions.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 11:02:31 +0000 (12:02 +0100)]
x86: Improve e820 scanning for all I/O regions.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm vlapic: Fix one_shot argument passed to create_periodic_time().
kfraser@localhost.localdomain [Tue, 3 Jul 2007 10:47:08 +0000 (11:47 +0100)]
hvm vlapic: Fix one_shot argument passed to create_periodic_time().
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
18 years agox86-64: clear DF for kernel when forwarding syscall.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 10:44:13 +0000 (11:44 +0100)]
x86-64: clear DF for kernel when forwarding syscall.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agox86-64: bump STACK_SIZE to 32 so that trampoline and IST stacks fit
kfraser@localhost.localdomain [Tue, 3 Jul 2007 10:41:25 +0000 (11:41 +0100)]
x86-64: bump STACK_SIZE to 32 so that trampoline and IST stacks fit
without undue squeezing.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agoxen: Fix kexec_crash_area reservation/allocation.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 10:24:40 +0000 (11:24 +0100)]
xen: Fix kexec_crash_area reservation/allocation.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agomerge
Ian Campbell [Tue, 3 Jul 2007 09:31:13 +0000 (10:31 +0100)]
merge

18 years ago[32on64 kexec] Add an explicit local branch after re-enabling paging
Ian Campbell [Tue, 3 Jul 2007 09:30:15 +0000 (10:30 +0100)]
[32on64 kexec] Add an explicit local branch after re-enabling paging
in 32 bit mode.

While it doesn't appear to be strictly required the documentation
calls for it. Thanks to Edwin Zhai for bringing the omission to my
attention.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
18 years agovmx: Use per-cpu vmcs pointer to avoid unnecessary vmcs loading in
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:29:55 +0000 (10:29 +0100)]
vmx: Use per-cpu vmcs pointer to avoid unnecessary vmcs loading in
vmx_do_resume().
Signed-off-by: Eric Liu <eric.e.liu@intel.com>
18 years agoxend: Save modified scheduler params of managed guests to config.sxp.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:21:21 +0000 (10:21 +0100)]
xend: Save modified scheduler params of managed guests to config.sxp.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoxendomains: Better sanity checking of potetntial save records.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:12:22 +0000 (10:12 +0100)]
xendomains: Better sanity checking of potetntial save records.
Signed-off-by: Gawain Lynch <gawain.lynch@gmail.com>
18 years agovmxassist: Decode mov instruction in protected to real mode in vmxassist.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:08:34 +0000 (10:08 +0100)]
vmxassist: Decode mov instruction in protected to real mode in vmxassist.
Also some clean up.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agohvm: Fix keymap for Windows keys.
kfraser@localhost.localdomain [Tue, 3 Jul 2007 09:06:48 +0000 (10:06 +0100)]
hvm: Fix keymap for Windows keys.
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
Signed-off-by: Junko Ichino <ichino.junko@jp.fujitsu.com>
18 years agoFix 15435:ab95b9764b20.
Ian Campbell [Mon, 2 Jul 2007 07:42:13 +0000 (08:42 +0100)]
Fix 15435:ab95b9764b20.

The changeset did not consider about ":cdrom" and "ioemu:"
of a disk definition.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoUse 32bit operand and address during VMXAssist protected to real.
Keir Fraser [Sun, 1 Jul 2007 23:24:59 +0000 (00:24 +0100)]
Use 32bit operand and address during VMXAssist protected to real.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agoxm: Fix xm block-detach error message duplication.
Keir Fraser [Sun, 1 Jul 2007 21:25:27 +0000 (22:25 +0100)]
xm: Fix xm block-detach error message duplication.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoxm: Fix a typo for xm network-detach.
Keir Fraser [Sun, 1 Jul 2007 21:23:16 +0000 (22:23 +0100)]
xm: Fix a typo for xm network-detach.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoACM: Fix a problem with the boot option parser.
Keir Fraser [Sun, 1 Jul 2007 21:21:58 +0000 (22:21 +0100)]
ACM: Fix a problem with the boot option parser.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
18 years agoMake network-bridge fail on NFS or iscsi root.
Keir Fraser [Sun, 1 Jul 2007 21:20:46 +0000 (22:20 +0100)]
Make network-bridge fail on NFS or iscsi root.
Since setting up bridging involves bringing down the network interface,
bridging clearly isn't compatible with the likes of NFS or iSCSI root.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
18 years agoRemove unused VMXAssist test code.
Keir Fraser [Sun, 1 Jul 2007 21:18:04 +0000 (22:18 +0100)]
Remove unused VMXAssist test code.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agoxendomains: Ignore 'lost+found' when finding saved dom images.
Keir Fraser [Sun, 1 Jul 2007 21:16:41 +0000 (22:16 +0100)]
xendomains: Ignore 'lost+found' when finding saved dom images.
Signed-off-by: Gawain Lynch <gawain.lynch@gmail.com>
18 years agoxend: Pass information to user when failing migrate due to PCI dev.
Keir Fraser [Sun, 1 Jul 2007 21:10:38 +0000 (22:10 +0100)]
xend: Pass information to user when failing migrate due to PCI dev.

When failing a migration / save due to the domain owning a PCI device
make sure that we tell the user what went wrong!

Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
18 years agoxend: Don't allow migrate with assigned PCI devs.
Keir Fraser [Sun, 1 Jul 2007 21:10:13 +0000 (22:10 +0100)]
xend: Don't allow migrate with assigned PCI devs.

This can potentially cause a whole machine crash, which I think has
been seen in the wild.  The case in the wild was caused by xendomains
auto-resuming domains on reboot, so it wasn't even operator error.

There's no sane way to migrate or suspend domains with PCI devs,
so I disallow it completely.

Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
18 years agoAdd a duplication definition check for devices.
Ian Campbell [Fri, 29 Jun 2007 13:38:18 +0000 (14:38 +0100)]
Add a duplication definition check for devices.

This patch adds a duplication definition check for devices.
It checks the following definitions.
 - vbd : uname and device name
 - vif : mac

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agoxend: Fix irq-permissions setting during domain creation.
Keir Fraser [Thu, 28 Jun 2007 19:35:50 +0000 (20:35 +0100)]
xend: Fix irq-permissions setting during domain creation.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix fixup of invalid PTE writes, broken by 13392:0fd65225e4c6.
Ian Campbell [Thu, 28 Jun 2007 17:40:20 +0000 (18:40 +0100)]
Fix fixup of invalid PTE writes, broken by 13392:0fd65225e4c6.

By the time we test if addr is the upper word it has already been
aligned to the 8 byte pte size.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
18 years agohvm: Destroy timers early during domain death.
Keir Fraser [Wed, 27 Jun 2007 21:20:17 +0000 (22:20 +0100)]
hvm: Destroy timers early during domain death.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoMore getcpuinfo sysctl cleanup.
Keir Fraser [Wed, 27 Jun 2007 20:43:43 +0000 (21:43 +0100)]
More getcpuinfo sysctl cleanup.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoBy default allow differences between Xen and XenLinux public headers.
Keir Fraser [Wed, 27 Jun 2007 20:28:19 +0000 (21:28 +0100)]
By default allow differences between Xen and XenLinux public headers.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoSmall sysctl cleanups.
Keir Fraser [Wed, 27 Jun 2007 20:27:51 +0000 (21:27 +0100)]
Small sysctl cleanups.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoxenconsoled: improve robustness of logfile handling
Keir Fraser [Wed, 27 Jun 2007 20:05:54 +0000 (21:05 +0100)]
xenconsoled: improve robustness of logfile handling

Check the 'log_reload' on every iteration of the select() loop, not just when
select() returns EINTR. This is because the log reload signal may have
iterrupted a syscall other than select & thus without this change  we
might miss the reload signal.  The second change makes us process the
hypervisor logs on every iteration of the loop, not just upon timeouts.
This is because if a guest VM were consistently sending some log message
and < 1 second period, the select() would never hit the 1 second timeout
and thus never process the HV logs.

Thanks to Markus Armbruster for pointing out both these edge cases

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
18 years agoAdd new sysctl to return runtime information about physical CPU utilization.
Steven Hand [Wed, 27 Jun 2007 20:01:08 +0000 (21:01 +0100)]
Add new sysctl to return runtime information about physical CPU utilization.

Signed-off-by: Steven Hadn <steven@xensource.com>
18 years agovmx: Exclude VMX_PROCBASED_CTL2 from set of MSRs a VMX guest is allowd
Keir Fraser [Wed, 27 Jun 2007 19:56:25 +0000 (20:56 +0100)]
vmx: Exclude VMX_PROCBASED_CTL2 from set of MSRs a VMX guest is allowd
to access.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agovmx: Make use of VMX_INSTRUCTION_INFO field to obtain the segment
Keir Fraser [Wed, 27 Jun 2007 19:53:57 +0000 (20:53 +0100)]
vmx: Make use of VMX_INSTRUCTION_INFO field to obtain the segment
register of OUTS

Signed-off-by: Weidong Han <weidong.han@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm: Sync SVM CR4 handling with VMX.
Keir Fraser [Wed, 27 Jun 2007 19:17:54 +0000 (20:17 +0100)]
hvm: Sync SVM CR4 handling with VMX.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix VMX guest can't boot after MCE enabled.
Keir Fraser [Wed, 27 Jun 2007 19:08:21 +0000 (20:08 +0100)]
Fix VMX guest can't boot after MCE enabled.
Signed-off-by: Xin Li <xin.b.li@intel.com>
18 years agox86: remove unused nopaging_gdt_descr
Keir Fraser [Wed, 27 Jun 2007 19:00:50 +0000 (20:00 +0100)]
x86: remove unused nopaging_gdt_descr
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
18 years agoRemove incorrect __init prefixes
Keir Fraser [Wed, 27 Jun 2007 18:59:21 +0000 (19:59 +0100)]
Remove incorrect __init prefixes

Following functions can be __init in Linux, however shouldn't
in Xen. __print_IO_APIC is called by keyhandler, while
setup_ioapic_dest is invoked in one platform hypercall.

Signed-off-by Kevin Tian <kevin.tian@intel.com>

18 years ago[VMX] Set up GUEST_CR0 as well as CR0_READ_SHADOW when restoring saved
Tim Deegan [Tue, 26 Jun 2007 16:54:10 +0000 (17:54 +0100)]
[VMX] Set up GUEST_CR0 as well as CR0_READ_SHADOW when restoring saved
vcpus.  Also simplify the CR3 reload path.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years agoDeinitialize timers before destroying the local apic; this protects us
Steven Hand [Tue, 26 Jun 2007 11:40:37 +0000 (12:40 +0100)]
Deinitialize timers before destroying the local apic; this protects us
against a late firing timer callback function (e.g. hpet_timer_fn) which
tries to access local APIC state.

Signed-off-by: Steven Hand <steven@xensource.com>
18 years agoioemu: Fix ifdef __x86_64__
kfraser@localhost.localdomain [Mon, 25 Jun 2007 15:52:39 +0000 (16:52 +0100)]
ioemu: Fix ifdef __x86_64__
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoi386: Simplify failsafe callback handling.
kfraser@localhost.localdomain [Thu, 21 Jun 2007 20:36:26 +0000 (21:36 +0100)]
i386: Simplify failsafe callback handling.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix x86/64 failsafe callback handling.
kfraser@localhost.localdomain [Thu, 21 Jun 2007 17:02:50 +0000 (18:02 +0100)]
Fix x86/64 failsafe callback handling.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm svm: No guest access to SVM MSRs.
kfraser@localhost.localdomain [Thu, 21 Jun 2007 14:17:31 +0000 (15:17 +0100)]
hvm svm: No guest access to SVM MSRs.
Signed-off-by: Mats Petersson <mats.petersson@amd.com>
18 years agox86: machine check exception handling
kfraser@localhost.localdomain [Thu, 21 Jun 2007 14:10:04 +0000 (15:10 +0100)]
x86: machine check exception handling

Properly handle MCE (connecting the exisiting, but so far unused
vendor specific handlers). HVM guests don't own CR4.MCE (and hence
can't suppress the exception) anymore, preventing silent machine
shutdown.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: clear guest's EFLAGS.RF after emulating instructions
kfraser@localhost.localdomain [Thu, 21 Jun 2007 13:03:57 +0000 (14:03 +0100)]
x86: clear guest's EFLAGS.RF after emulating instructions
Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agoi386: remove NMI deferral by instead making sure selector registers
kfraser@localhost.localdomain [Thu, 21 Jun 2007 11:13:06 +0000 (12:13 +0100)]
i386: remove NMI deferral by instead making sure selector registers
are always stored/restored correctly despite the potential for an NMI
(and also MCE, with a subsequent patch) to kick in.

The idea is to always check values read from %ds and %es against
__HYPERVISOR_DS, and only store into the current frame (all normal
handlers) or the outer-most one (NMI and MCE) if the value read is
different. That way, any NMI or MCE occurring during frame setup will
store selectors not saved so far on behalf of the interrupted handler,
with that interrupted handler either having managed to read the guest
selector (in which case it can store it regardless of whether NMI/MCE
kicked in between the read and the store) or finding __HYPERVISOR_DS
already in the register, in which case it'll know not to store (as the
nested handler would have done the store).

For the restore portion this makes use of the fact that there's
exactly one such code sequence, and by moving the selector restore
part past all other restores (including all stack pointer adjustments)
the NMI/MCE handlers can safely detect whether any selector would have
been restored already (by range checking EIP) and move EIP back to the
beginning of the selector restore sequence without having to play with
the stack pointer itself or any other gpr.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agolibxenguest: Add another range check to dom restore.
kfraser@localhost.localdomain [Thu, 21 Jun 2007 11:10:01 +0000 (12:10 +0100)]
libxenguest: Add another range check to dom restore.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agolibxenguest: Add missing range-check on count field read from a domain
kfraser@localhost.localdomain [Thu, 21 Jun 2007 08:47:39 +0000 (09:47 +0100)]
libxenguest: Add missing range-check on count field read from a domain
save/restore file.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoRename ddc_info -> vbeddc_info in interface header.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 18:31:37 +0000 (19:31 +0100)]
Rename ddc_info -> vbeddc_info in interface header.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoAdd hypercall function for retrieving EDID info
kfraser@localhost.localdomain [Wed, 20 Jun 2007 18:24:08 +0000 (19:24 +0100)]
Add hypercall function for retrieving EDID info
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoRemove stray semi-colon in macro.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 18:08:45 +0000 (19:08 +0100)]
Remove stray semi-colon in macro.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: Add hypercall function for retrieving EDD info.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 17:43:04 +0000 (18:43 +0100)]
x86: Add hypercall function for retrieving EDD info.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agotools: Adjust tools' path calculation.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 16:07:15 +0000 (17:07 +0100)]
tools: Adjust tools' path calculation.

I'm suggesting this change to make another tiny step towards the
ability to run the tools e.g. out of the build tree (so that multiple
different Xen versions can co-exist without the requirement to
re-install the respective version with each boot).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agox86: early exception enhancement
kfraser@localhost.localdomain [Wed, 20 Jun 2007 16:05:48 +0000 (17:05 +0100)]
x86: early exception enhancement

In order to at least have some minimal debuging capabilities when Xen
crashes really early, dump out registers and stack contents in a raw
form.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agotools: Create directory /var/lib/xen at install target.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 15:58:21 +0000 (16:58 +0100)]
tools: Create directory /var/lib/xen at install target.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agokernel command line extension
kfraser@localhost.localdomain [Wed, 20 Jun 2007 15:52:01 +0000 (16:52 +0100)]
kernel command line extension

In order to allow appending to the dom0 command line even with boot
loaders that only allow editing the kernel (i.e. Xen in our case)
command line, support a '--' separator option.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: introduce specialized clear_page()
kfraser@localhost.localdomain [Wed, 20 Jun 2007 15:18:03 +0000 (16:18 +0100)]
x86: introduce specialized clear_page()

More than doubles performance of page clearing on not too old
processors (SSE2 supported).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoUse clear_page() wherever possible/reasonable instead of open coded
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:33:14 +0000 (15:33 +0100)]
Use clear_page() wherever possible/reasonable instead of open coded
memset() calls (likewise a few replacements memcpy -> copy_page).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agoEnhance guest memory accessor macros so that source operands can be
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:29:53 +0000 (15:29 +0100)]
Enhance guest memory accessor macros so that source operands can be
pointers to const or arrays.

Only build-tested on ia64, and untested for powerpc (which, however,
is almost identical to ia64, except for an apparent bug in the original
version of __copy_field_{from,to}_guest in that the field offset was
multiplied by the field size).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agox86: Use 64-bit arithmetic in reserve_in_boot_e820().
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:08:32 +0000 (15:08 +0100)]
x86: Use 64-bit arithmetic in reserve_in_boot_e820().
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm/x86: vendor-specific code can call vendor-specific routines directly
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:06:17 +0000 (15:06 +0100)]
hvm/x86: vendor-specific code can call vendor-specific routines directly
Signed-off-by: Jan Beulich <jbeulich@novell.com>
18 years agox86/hvm: determine shared info format earlier.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 14:03:39 +0000 (15:03 +0100)]
x86/hvm: determine shared info format earlier.

Latch guest shared info format when hypercall page is being set up
rather than during an arbitrarily selected hypercall.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: fix early option scanning
kfraser@localhost.localdomain [Wed, 20 Jun 2007 13:57:49 +0000 (14:57 +0100)]
x86: fix early option scanning

Make sure command lines like
... vgaxyz vga=
... console=vga vga=
do not mistakenly ignore the vga= option due to finding 'vga' earlier
on the line.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix xm vcpu-set command for managed domains, to take effect immediately.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 13:43:41 +0000 (14:43 +0100)]
Fix xm vcpu-set command for managed domains, to take effect immediately.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
18 years agohvm: Ensure ioemu sees media-change events even when media filename
kfraser@localhost.localdomain [Wed, 20 Jun 2007 13:41:27 +0000 (14:41 +0100)]
hvm: Ensure ioemu sees media-change events even when media filename
remains constant my writing a dummy blank string first.
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
18 years agohvm: Fix ioemu Qcow support.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 13:36:11 +0000 (14:36 +0100)]
hvm: Fix ioemu Qcow support.

Normally by default, SIGUSR2 is not blocked, so the signal masks of
SIGUSR2 in all threads is unblocked.

When creating HVM guest, if we use the Qcow format image file, in the
main thread, Qcow uses SIGUSR2 to be notified of the completion of the
request after it issues an AIO request; in tools/ioemu/block.c:
bdrv_read_em(), in some point between bdrv_aio_read() and
qemu_aio_wait(), Dom0 may send a SIGUSR2 to Qemu immediately to
indicate the completion of an AIO request -- since at the moment
SIGUSR2 in main thread is blocked by qemu_aio_wait_start(), the signal
may be delivered to one non-main thread, causing the signal handler of
SIGUSR2 is invoked, then the main thread hangs in
qemu_aio_wait()->syswait()...

This patch blocks SIGUSR2 at the beginning of Qemu's main(), so it
ensures SIGUSR2 is blocked by default when a new thread is created,
then only the threads that use the signal unblock it.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
18 years ago32-on-64: First slot of hidden L4 page directory must start life as zero.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 12:39:54 +0000 (13:39 +0100)]
32-on-64: First slot of hidden L4 page directory must start life as zero.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago32-on-64: Fix error path where we fail to successfully switch a guest
kfraser@localhost.localdomain [Wed, 20 Jun 2007 12:38:48 +0000 (13:38 +0100)]
32-on-64: Fix error path where we fail to successfully switch a guest
into compat mode.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago32-on-64: Fix error path from memory_op() hypercall.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 12:38:22 +0000 (13:38 +0100)]
32-on-64: Fix error path from memory_op() hypercall.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm: Support injection of virtual NMIs and clean up ExtInt handling in general.
kfraser@localhost.localdomain [Wed, 20 Jun 2007 10:50:16 +0000 (11:50 +0100)]
hvm: Support injection of virtual NMIs and clean up ExtInt handling in general.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago[HVM][SVM] flush all entries from guest ASIDs when xen writes CR3.
Tim Deegan [Wed, 20 Jun 2007 09:55:37 +0000 (10:55 +0100)]
[HVM][SVM] flush all entries from guest ASIDs when xen writes CR3.
This makes the assumptions about TLB flush behaviour in the page-type
system and the shadow code safe again, and fixes a corner case of NPT
log-dirty.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
18 years agox86: retrieve VBE EDID/DDC info independent of used video mode
kfraser@localhost.localdomain [Tue, 19 Jun 2007 17:07:53 +0000 (18:07 +0100)]
x86: retrieve VBE EDID/DDC info independent of used video mode

The code to retrieve this information was protected by a check of a
variable (vbe_version) that would get initialized only when a VESA
mode was selected on the command line.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
At the same time I cleaned up use of 'scratch space' at address
modelist and beyond.

Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoblktap: Add fallback code to blktap for missing poll-on-aio support.
kfraser@localhost.localdomain [Tue, 19 Jun 2007 15:32:28 +0000 (16:32 +0100)]
blktap: Add fallback code to blktap for missing poll-on-aio support.

blktap requires a xen specific kernel AIO ABI which has been vetoed by
upstream in favour of another approach. Rather than include this ABI,
Fedora has been carrying a patch which makes tap:aio use a thread to
poll for aio events and notify the main thread via a pipe.

The upstream approach of allowing io_getevents() poll normal file
descriptors via epoll is still progressing:
 http://lkml.org/lkml/2007/1/3/16

but when that does make it upstream, blktap will require significant
re-working to use that approach.

In the meantime, here's a patch which uses the poll-in-a-thread
approach only if AIO poll support isn't available. It also hides the
details behind a simple abstraction and makes both tap:aio and
tap:qcow use it.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
18 years agotools: Allow xendomains to handle domain names >16 characters
kfraser@localhost.localdomain [Tue, 19 Jun 2007 15:29:22 +0000 (16:29 +0100)]
tools: Allow xendomains to handle domain names >16 characters

The xendomains init script parses the output of "xm list", and
since xm list restricts the length of domains to 16 characters the
xendomain script cannot handle long domain names.

This patch makesit parse the output of "xm list -l" instead.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
18 years agoioemu: Assembler memcpy() for x86, and lowest-common-denominator
kfraser@localhost.localdomain [Tue, 19 Jun 2007 15:08:15 +0000 (16:08 +0100)]
ioemu: Assembler memcpy() for x86, and lowest-common-denominator
memcpy() function for all others, avoiding noisy longword copies on
ia64.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agotools: Fix compiler warning.
kfraser@localhost.localdomain [Tue, 19 Jun 2007 14:55:13 +0000 (15:55 +0100)]
tools: Fix compiler warning.
From: Charles Coffing <ccoffing@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agohvm svm: Log into 'xm dmesg' that SVM NPT is enabled.
kfraser@localhost.localdomain [Tue, 19 Jun 2007 14:39:08 +0000 (15:39 +0100)]
hvm svm: Log into 'xm dmesg' that SVM NPT is enabled.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agox86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-setting
kfraser@localhost.localdomain [Tue, 19 Jun 2007 14:09:59 +0000 (15:09 +0100)]
x86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-setting
code, and make visible at the command line via 'vga=current'.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFurther fixes for 32on64 bit kexec.
Ian Campbell [Tue, 19 Jun 2007 14:03:55 +0000 (15:03 +0100)]
Further fixes for 32on64 bit kexec.

* switch to a suitable stack before jumping to compatibility mode.
* return the correct range for KEXEC_RANGE_MA_XEN.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
18 years agohvm: Fix deadlock in vpt.c and clean up some more.
kfraser@localhost.localdomain [Tue, 19 Jun 2007 13:52:53 +0000 (14:52 +0100)]
hvm: Fix deadlock in vpt.c and clean up some more.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agoFix 32on64 kexec trampoline. This was broken when Xen was modified to
Ian Campbell [Tue, 19 Jun 2007 10:06:25 +0000 (11:06 +0100)]
Fix 32on64 kexec trampoline. This was broken when Xen was modified to
physically relocate itself.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>